The invention relates to a data conferencing system including at least two computer workstations linked by a data network.
Nowadays the users of data processing systems have an increased need of real-time interaction with the users of other systems. For instance, projects due to their complexity are developed by one or more groups of people who can be located in different places causing difficulties in arranging meetings among them.
Typically desk top conferencing is used to allow the needed interaction, which normally includes data collaboration facilities, supplemented by basic audio and video exchange.
The most common real-time data capability is the chalkboard or whiteboard which provides an ability either to exchange basic drawings or to annotate a base image. Such a system is described for example in xe2x80x9cBeyond the Chalkboard: Computer Support for Collaboration and Problem Solving in Meetingsxe2x80x9d by M Stefik, G Foster, D Bobrow, K Kahn, S Lanning and L Suchman, p32-47 in Computing Practices, Communications of the ACM, Vol 30, Number 1, January 1987. Extensions to the basic graphic chalkboard facilities frequently include some support for adding text information through marker pen support or text entry and edit. Typical examples of the kind of information and associated analysis might be: ranking of employee performances on multiple criteria, exploring sales data, preliminary project costings, and so on. However, the essence of a chalkboard is freeform drawing on a blank sheet of paper or a previously retrieved image and a characteristic of the computer chalkboard is that it is optimized for graphic exchanges through its simulation of the conventional physical chalkboard. Consequently, when the shared user information is purely character or numeric, difficulties may arise because these characteristics of the chalkboard are not designed for the easy handling of textual data. Thus there is generally very little support for users to efficiently manipulate text using a mouse or marker pen across the chalkboard.
Other systems which provided a data sharing facility are disclosed in EP-A-0550370 and EP-A-0550374.
Conventional spreadsheets typically provide the users with facilities able to handle such coded textual or numeric data, but they do not map well into the informal collaborative environment. This is principally because the visible contents are often linked by an invisible set of equations, which may only be known or understood by the originator of the spreadsheet. It is therefore very hard to look at an arbitrary spreadsheet document and manipulate the data in a collaborative working environment without understanding these hidden relationships.
Also known in the prior art is a remote access program, such as the NetView Distributed Console Access Facility (DCAF) product available from IBM Corporation, which allows a user to access a computer of a remote user whilst the remote user is working on it. In this case both users can share all the data, the programs and the environment of the remote computer. However, the user who accesses the remote computer might have to work in an unknown environment, maybe using an unknown wordprocessor. Moreover such a remote access program is not really appropriate for a peer to peer conferencing or collaborative working environment.
Hence, it is an object of the present invention to provide a data processing system for allowing users to interact simultaneously on shared data, particularly character-based data.
Accordingly the present invention provides a data conferencing system, including at least two computer workstations linked by a data network, each computer workstation including:
means for storing and displaying an electronic sheet, the electronic sheet being logically divided into a set of cells, each cell being able to contain a single character;
means to enable a user to select a portion of the electronic sheet, a portion comprising at least one cell;
means, responsive to a user input, for editing the selected portion of the electronic sheet; and
means for distributing updates resulting from editing the electronic sheet to the other computer workstations in the data conferencing system, such that all the workstations in the data conferencing system share the same electronic sheet.
The electronic sheet is somewhat similar to the chalkboard, in that it too is designed to simulate a conventional chalkboard in a desktop conferencing environment, allowing different users to freely input and edit data across the electronic sheet. However, whilst the chalkboard is graphics based, the electronic sheet is based on a character grid, and is optimized for text processing and manipulation. Note that a large fraction of conferences are indeed based around textual (including numerical) data, rather than image or graphical data. An additional benefit of using a character-based system is that the data processing and transmission operations are very simple. It is therefore easy to operate the electronic sheet conference across even low bandwidth networks. A further advantage of the simple data flows is that it is straightforward to implement the electronic machine on top of known data conferencing systems, rather than having the difficulty of writing a fully distributed application.
The electronic sheet effectively provides users with a sort of blank page designed to handle character and numeric information. It is expected that several users make contributions, typically in different areas of the sheet in parallel, and these are subsequently tidied up using the editing commands.
In the preferred embodiment, a selected portion is visually highlighted, for example by shading gray or by outlining with a heavy line, and at the users request the grid of cells is shown displayed on the electronic sheet. The available editing operations include both those performed en bloc upon the selected portion of the electronic sheet, for example moving or copying the contents of the selected portion to another location on the electronic sheet, as well as those performed upon the characters contained within the selected portion of the electronic sheet, for example, sorting or aligning the text within the selected portion.
The preferred embodiment further comprises means for performing mathematical operations on the characters within the selected portion of the electronic sheet. The ability to perform generally arithmetic computations simply within the electronic sheet application greatly increases the utility of the application, and is particular beneficial when the electronic sheet is being used to work with tabular data.
It is preferred that once a user has selected a portion of the electronic sheet, users at other workstations are prevented from selecting the same portion of the electronic sheet. The advantage of effectively locking a selected area is that it precludes the confusion that might otherwise arise if two different users were to try to perform possibly conflicting operations simultaneously within the same region. Note however that different users may still operate in parallel on different regions of the sheet, so that this approach is more efficient than locking the entire electronic sheet, each time a user wants to perform an edit operation. Clearly it is the responsibility of the users that the areas which they select are no bigger than necessary for their intended operation, thereby retaining the maximum available space for the other users in the data conference. Similarly, they should perform their intended operation as quickly as possible. Note that in the preferred embodiment, the selected region is deselected after each editing operation, thereby maximizing the accessibility of all regions of the sheet to the data conference participants.
In the preferred embodiment, the characters within the electronic sheet are stored in ASCII format. This has the advantage of being standard, so that data may be readily exchanged into and out of other programs (for example by the clipboard), and is easy to manipulate and store. It would of course be possible to develop a more extended character set, for example a two-byte set. This would allow a much greater range of characters, for example including mathematical symbols, although it may require special character handling routines if standard string handling routines are no longer applicable.
Although the electronic sheet application is primarily intended for use in a collaborative or conferencing environment, it is possible that some users may want to use it on a stand-alone basis. One reason for doing this might be to prepare material in advance to be imported into a subsequent conference using the electronic sheet application. Thus the invention further provides a computer workstation including:
means for storing and displaying an electronic sheet, the electronic sheet being logically divided into a set of cells, each cell being able to contain a single character;
means to enable a user to select a portion of the electronic sheet, a portion comprising at least one cell; and
means, responsive to a user input, for editing the selected portion of the electronic sheet.
The invention also provides a method of operating a data conferencing system, including at least two computer workstations linked by a data network, said method comprising the steps at each workstation of:
storing and displaying an electronic sheet, the electronic sheet being logically divided into a set of cells, each cell being able to contain a single character;
selecting, responsive to user input, a portion of the electronic sheet, a portion comprising at least one cell;
editing, responsive to a user input, the selected portion of the electronic sheet; and
distributing updates resulting from editing the electronic sheet to the other computer workstations in the data conferencing system, such that all the workstations in the data conferencing system share the same electronic sheet.